package io.mya.currencypay.util;
import java.util.ArrayList;    
import java.util.Iterator;    
import java.util.List;    
import java.util.Map;    
import java.util.Map.Entry;    
import org.apache.http.HttpEntity;    
import org.apache.http.HttpResponse;    
import org.apache.http.NameValuePair;    
import org.apache.http.client.HttpClient;    
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;    
import org.apache.http.message.BasicNameValuePair;    
import org.apache.http.util.EntityUtils;    

/**
 * 利用HttpClient进行请求的工具 
 * 
 * @author helin
 * @RequestParam Map<String, Object> params
 */
public class HttpClientUtil {    
	
	
	/**
	 * 利用HttpClient进行post请求的工具 
	 * 
	 * @author helin
	 * @RequestParam Map<String, Object> params
	 */
    public String doPost(String url,Map<String,String> map,String charset){    
        HttpClient httpClient = null;    
        HttpPost httpPost = null;    
        String result = null;    
        try{    
            httpClient = new SSLClient();    
            httpPost = new HttpPost(url);    
            //设置参数    
            List<NameValuePair> list = new ArrayList<NameValuePair>();    
            Iterator iterator = map.entrySet().iterator();    
            while(iterator.hasNext()){    
                Entry<String,String> elem = (Entry<String, String>) iterator.next();    
                list.add(new BasicNameValuePair(elem.getKey(),elem.getValue()));    
            }    
            if(list.size() > 0){    
                UrlEncodedFormEntity entity = new UrlEncodedFormEntity(list,charset);    
                httpPost.setEntity(entity);    
            }    
            HttpResponse response = httpClient.execute(httpPost);    
            if(response != null){    
                HttpEntity resEntity = response.getEntity();    
                if(resEntity != null){    
                    result = EntityUtils.toString(resEntity,charset);    
                }    
            }    
        }catch(Exception ex){    
            ex.printStackTrace();    
        }    
        return result;    
    }    
    
    
    /** 
     * 发送get请求 
     * @param url    链接地址 
     * @return 
     */  
    public String doGet(String url) {  
    	String charset = "utf-8";
        SSLClient httpClient = null;  
        HttpGet httpGet= null;  
        String result = null;  
          
        try {  
            httpClient = new SSLClient();  
            httpGet = new HttpGet(url);  
              
            HttpResponse response = httpClient.execute(httpGet);  
            if(response != null){  
                HttpEntity resEntity = response.getEntity(); 
                
                if(resEntity != null){  
                    result = EntityUtils.toString(resEntity,charset);  
                }  
            }  
        } catch (Exception e) {  
            e.printStackTrace();  
        }  
          
        return result;  
    }  
    
}  
